Android6.0在授权的时候如果在设置界面有其他窗口显示,会出现screen overlay的警告无法授权,然后会去引导关闭app的顶层窗口显示,但是由于TOAST_WINDOW类型的window则无需允许顶层窗口的权限就能显示在最顶层,这就导致了因为某些app显示了TOAST_WINDOW类型的window而无法授权。要想授权就只能找到是哪个app显示了顶层window,卸载之后就能正常授权了。
dumpsys window
1adb shell dumpsys window找到WINDOW MANAGER WINDOWS,看Surface是否shown

- 卸载package对应的app之后再次授权